ALFA ACPCIE-1900U mPCIe 2.4/5Ghz WIFI Card Driver Installation
This section covers the configuration needed to use the ALFA AWPCIE-1900U high power mPCIe card (featuring Realtek RTL8814AU chipset) which has both dual band 2.4 and 5Ghz WiFi compatibility, see spec sheet for this model HERE.
Pre-compiled kernel modules are available to save time, see bottom of page for details
Installation From Source
Here's the procedure we used to configure the WiFi card, this process was fairly straight-forward thanks to a open source git-hub page maintaining support for the chipset.
root@raspberrypi:~/wifi# apt-get update --allow-releaseinfo-change root@raspberrypi:~/wifi# apt-get install bc git build-essential python flex bison libssl-dev libncurses5-dev root@raspberrypi:~/wifi# wget https://raw.githubusercontent.com/RPi-Distro/rpi-source/master/rpi-source -O /usr/local/bin/rpi-source root@raspberrypi:~/wifi# sudo chmod +x /usr/local/bin/rpi-source root@raspberrypi:~/wifi# /usr/local/bin/rpi-source -q --tag-update root@raspberrypi:~/wifi# rpi-source # [ accept defaults on any questions ]
That last step may argue a few times you haven't installed something, if so run the prompted command to install the missing component and re-run rpi-source.
There are two sources we have found for the driver, we will use the first one as this appears to be the most up-to-date version
https://github.com/morrownr/8814au
https://github.com/aircrack-ng/rtl8814au
root@raspberrypi:~/wifi/# git clone https://github.com/morrownr/8814au.git root@raspberrypi:~/wifi/# cd 8814au root@raspberrypi:~/wifi/8814au# ./ARM_RPI.sh # Raspberry Pi 32bit OS root@raspberrypi:~/wifi/8814au# ./install-driver.sh # [ accept defaults on any questions ] root@raspberrypi:~/wifi/8814au# reboot
A sample log of the compile procedure can be seen HERE
After compilation, instalation and rebooting check the output of dmesg to verify the card has been detected:
root@raspberrypi:~/# dmesg [ 3.047284] usb 1-1.3: new high-speed USB device number 4 using dwc_otg [ 3.187964] usb 1-1.3: New USB device found, idVendor=0bda, idProduct=8813, bcdDevice= 0.00 [ 3.196476] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3.203975] usb 1-1.3: Product: 802.11ac NIC [ 3.208342] usb 1-1.3: Manufacturer: Realtek [ 3.212682] usb 1-1.3: SerialNumber: 123456 [ 7.400467] 8814au: loading out-of-tree module taints kernel.
Next let's find the local 5Ghz network :
root@raspberrypi:~# iwlist wlan0 scanning
wlan0 Scan completed :
Cell 01 - Address: E0:28:6D:BB:42:CB
ESSID:"EMT5"
Protocol:IEEE 802.11AC
Mode:Master
Frequency:5.26 GHz (Channel 52)
Encryption key:on
Bit Rates:1.3 Gb/s
Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: DD1D0050F204104A0001101044000102103C0001031049000600372A000120
Quality=63/100 Signal level=51/100
Extra:fm=0001
Cell 03 - Address: E0:28:6D:BB:42:CA
ESSID:"EMT2"
Protocol:IEEE 802.11bgn
Mode:Master
Frequency:2.412 GHz (Channel 1)
Encryption key:on
Bit Rates:144 Mb/s
Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: Unknown: DD6F0050F204104A0001101044000102103B0001031047001041C6307EE2359F99CB6CE0286DBB42CA1021000341564D1023000446426F78102400043030303010420004303030301054000800060050F20400011011000446426F78100800020280103C0001031049000600372A000120
Quality=84/100 Signal level=27/100
Extra:fm=0003
There are two criticial settings needed in in wpa_supplicant.conf file before we can sucessfully bring up the network interface, these must be correctly set or the system will fail to respond when asking for the interfaces to be enabled.
1. WiFi Config
Enter the target network ESSID (and password when prompted) to generate the wpa authentication details for connecting :
root@raspberrypi:~# wpa_passphrase EMT5
network={
ssid="EMT5"
#psk="xxxxxxxx"
psk=4265dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
Add these generated details to the bottom of the file below
/etc/wpa_supplicant/wpa_supplicant.conf
2. Reglatory domain setting (Country code)
Add the line below to wpa_supplicant.conf
country=??
Where ?? is your country code (dictating your WiFi power/range)
Note : This setting MUST be present when system is booted or WiFi will be disabled and you will be unable to bring up the interface.
A sample config file is shown here
root@raspberrypi:~# cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=GB
network={
ssid="dd-wrtAC"
#psk="xxxxxxxx"
psk=4265dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
After this is done you'll need to reboot the system
Note that the network interface commands from Raspbian Stretch onwards have changed
ifdown wlan0 => ifconfig wlan0 down ifup wlan0 => ifconfig wlan0 up
Once rebooted you can check connectivity as below :
root@raspberrypi:~# iwconfig wlan0
wlan0 IEEE 802.11AC ESSID:"EMT5" Nickname:"WIFI@RTL8814AU"
Mode:Managed Frequency:5.26 GHz Access Point: E0:28:6D:BB:42:CB
Bit Rate:1.3 Gb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:****-****-****-****-****-****-****-**** Security mode:open
Power Management:off
Link Quality=65/100 Signal level=51/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
root@raspberrypi:~# ifconfig wlan0
wlan0: flags=4163 mtu 1500
inet 192.168.1.129 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::b23c:ad59:c446:4793 prefixlen 64 scopeid 0x20
ether 00:c0:ca:a8:8e:2f txqueuelen 1000 (Ethernet)
RX packets 185 bytes 32702 (31.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 29 bytes 4899 (4.7 KiB)
TX errors 0 dropped 3 overruns 0 carrier 0 collisions 0
Pre-Compiled Driver Modules
For kernel version 4.19.118-v7+ we have packaged up the pre-compiled kernel module for easy usage, to check which version you are using use the below
root@raspberrypi:~# uname -a Linux raspberrypi 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l GNU/Linux
Precompiled kernel module for 4.19.118-v7 kernel download link :
GDrive Download link for 8814AU v5.8.5.1 driver file for Kernel 4.19.118-v7+